ВГОРУ

SQL Joins

YouLibreCalc for Excel logo

SQL JOIN

Вираз JOIN використовується для об’єднання рядків із двох або більше таблиць на основі зв’язаного стовпця між ними.


Подивимося на вибірку із таблиці "Orders" ("Замовлення"):

ProductIDOrderIDCustomerIDEmployeeIDOrderDateShipperID
1102489051996-07-043
2102498161996-07-051
3102503441996-07-082

Потім перегляньте вибірку із таблиці "Customers" ("Клієнти"):

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.5021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.5023Mexico

Зауважте, що стовпець "CustomerID" у таблиці "Orders" відноситься до "CustomerID" у таблиці "Customers". Зв’язок між двома таблицями вище – це стовпець "CustomerID".

Tоді ми можемо створити таку SQL-інструкцію (що містить INNER JOIN), яка вибирає записи, що мають відповідні значення в обох таблицях:

Run SQLSELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID

і це дасть щось подібне:

OrderIDCustomerNameOrderDate
10308Ana Trujillo Emparedados y helados1996-09-18
10365Antonio Moreno Taquería1996-11-27
10355Around the Horn1996-11-15
10383Around the Horn1996-12-16
10289B's Beverages1996-08-26

Різні типи SQL JOIN

Ось різні типи JOIN у SQL:

  • (INNER) JOIN: Повертає записи, які мають відповідні значення в обох таблицях
  • LEFT (OUTER) JOIN: Повертає всі записи з лівої таблиці та відповідні записи з правої таблиці
  • RIGHT (OUTER) JOIN: Повертає всі записи з правої таблиці та відповідні записи з лівої таблиці
  • FULL (OUTER) JOIN: Повертає всі записи, якщо є відповідність у лівій або правій таблиці


  • SQL INNER JOIN  SQL LEFT JOIN  SQL RIGHT JOIN  SQL FULL OUTER JOIN